package com.employment.entity;

import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 会话参与者实体类
 * 对应数据库表：chat_participant
 * 
 * @author Employment System
 * @since 1.0.0
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Table("chat_participant")
public class ChatParticipant extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @Id(keyType = KeyType.Auto)
    private Long id;

    /**
     * 会话ID
     */
    private Long conversationId;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 角色：1普通成员，2管理员，3创建者
     */
    private Integer role;

    /**
     * 群昵称
     */
    private String nickname;

    /**
     * 加入时间
     */
    private LocalDateTime joinTime;

    /**
     * 最后阅读时间
     */
    private LocalDateTime lastReadTime;

    /**
     * 最后阅读消息ID
     */
    private Long lastReadMessageId;

    /**
     * 是否免打扰：0否，1是
     */
    private Integer isMuted;

    /**
     * 是否置顶：0否，1是
     */
    private Integer isTop;

    /**
     * 状态：0已退出，1正常
     */
    private Integer status;
}